[Kaggle(https://www.kaggle.com/) 是開放式世界規模的ML資料平台和資料科學社群:
再有了之前學問的理論基礎,到了實際接觸ML的世界,在這裏可以跟世界各地的資料科學家一同切磋資料科學的競賽。
今天我們要介紹的是:
kaggle 著名的資料集
新手如何從kaggle入門
kaggle 的競賽
花朵識別:iris
鐵達尼號:[titanic] (https://www.kaggle.com/c/titanic)
# 載入 pandas 套件
import pandas as pd
# 載入分割 訓練 測試 資料 套件
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
# 讀取data
df = pd.read_csv('iris.data.csv')
# 取最後一行資料當target
y = df.iloc[:,-1]
# 取前四行資料當特徵X
X = df.iloc[:,0:4]
# train data 80%,test data 20%
X_train, X_test = train_test_split(X, test_size=0.2, train_size=0.8)
y_train, y_test = train_test_split(y, test_size=0.2, train_size=0.8)
rf = RandomForestClassifier(n_estimators=25, criterion='entropy', max_depth=10)
rf.fit(X_train, y_train)
rf.predict(X_train)
print(rf.score(X_train, y_train))
我們取上面的範例iris datasets 資料檔iris.data.csv,要放在與程式同一層的目錄下,程式檔名為.ipynb為副檔名。
pandas 套件是python做資料處理用的,與numpy齊名。
這裡我們用到之前花了5天介紹的decision tree和random forest的範例程式檔。得出用 randomforest 預測的結果有0.9915966386554622,幾乎百分之一百,應證我們說過randomforest的模型效果屬於優等生。
df是dataframe是二維的arraylike資料,你可以把它想像成矩陣的行與列
iloc是切片slice,iloc[:,-1],‘,’之前‘:’,表示全取列,後面的-1表示取最後一行。iloc的索引index是從0起算,‘0:3'表示取前四行。
"- 工商服務一下:
這系列結束後,我將繼續挑戰IT鐵人30日:
佛心分享 : it 考照之路
主題:從摸索7個月到下定決心訂下3週後考試:自學取得PMP 3AT 執照
"
如果你有志成為資料科學家,最快速的方法是選擇仿間的補習班,幫助你快速入門,或是選擇供讀研究所深造。